#include "Sa2dDom.h"

arenaBorder::arenaBorder() {

}

string arenaBorder::getDistribution() {
	return distribution;
}

int arenaBorder::getQuantity() {
	return quantity;
}

string arenaBorder::getUses() {
	return uses;
}

void arenaBorder::setDistribution(string distribution) {
	this->distribution = distribution;
}

void arenaBorder::setMyshape(std::vector<shape*> myshape) {
	this->myshape = myshape;
}

void arenaBorder::setQuantity(int quantity) {
	this->quantity = quantity;
}

void arenaBorder::setUses(string uses) {
	this->uses = uses;
}

std::vector<shape*> arenaBorder::getShapes() {
	return myshape;
}

void arenaBorder::addShape(shape *shape) {
	myshape.push_back(shape);
}

void arenaBorder::setRadius(double rad){
	this->radius = rad;
}

double arenaBorder::getRadius(){
	return radius;
}

string arenaBorder::toString(int indent) {
	string tabs = this->getIndent(indent);
	stringstream returnString;

	returnString << tabs << "Border:\n";
	returnString << tabs << "using: " << getUses() << "\n";
	returnString << tabs << "quantity: " << getQuantity() << "\n";
	returnString << tabs << "distribution: " << getDistribution() << "\n";
	returnString << tabs << "radius: " << getRadius()<< "\n";

	vector<shape*>::iterator ite;

	for (ite = myshape.begin(); ite < myshape.end(); ite++) {
		returnString << "\n" << (*ite)->toString(indent + 1);
	}

	return returnString.str();
}
